<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./../templates/mantenimiento.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                    
                xmlns:r="http://richfaces.org">

    <ui:define name="title">
        Administración de Empleados
    </ui:define>
    <ui:define name="datos">
        <center>
            <h:panelGrid id="panelDatos">
                <h:form id="formDatos">
                    <p:panel header="Datos"  >
                        <h:panelGrid id="datos1" columns="4" >
                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Nombres:" />
                            <p:inputText label="Nombre" id="nombre" size="40" maxlength="100" required="true" value="#{jsfEmpleado.object.nombre}" >
                                <f:validateLength minimum="3"  />
                            </p:inputText>
                            <p:message for="nombre"/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Apellidos:" />
                            <p:inputText label="Apellidos" id="apellido" size="40" maxlength="100" required="true" value="#{jsfEmpleado.object.apellido}" >
                                <f:validateLength minimum="3"  />
                            </p:inputText>
                            <p:message for="apellido"/>


                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Cédula:" />
                            <r:region>
                                <p:inputText required="true" size="40" label="Cédula" id="cedula"  maxlength="10"  value="#{jsfEmpleado.object.cedula}" >
                                    <f:ajax event="change" render="ced" execute="cedula" listener="#{jsfEmpleado.validarCedula}"/>
                                </p:inputText>
                            </r:region>
                            <p:message id="ced" for="cedula"/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Institución:" />
                            <p:selectOneMenu label="Institución" id="institucion" style="width: 270px"  converter="JsfConverterInstitucion" value="#{jsfEmpleado.object.admInstitucion}" >
                                <f:selectItem itemLabel="Seleccione ..."/>
                                <f:selectItems value="#{jsfInstitucion.selectedItem}" var="item">
                                </f:selectItems>
                            </p:selectOneMenu>
                            <p:message for="institucion" />

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Cargo:" />
                            <p:selectOneMenu label="Cargo" id="cargo" style="width: 270px" converter="JsfConverterCargo" value="#{jsfEmpleado.object.admCargo}" >
                                <f:selectItem itemLabel="Seleccione ..."/>
                                <f:selectItems value="#{jsfCargo.selectedItem}" var="item">
                                </f:selectItems>
                            </p:selectOneMenu>
                            <p:message for="cargo" />

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Departamento:" />
                            <p:selectOneMenu label="Departamento" id="departamento" style="width: 270px" converter="JsfConverterDepartamento" value="#{jsfEmpleado.object.admDepartamento}" >
                                <f:selectItem itemLabel="Seleccione ..."/>
                                <f:selectItems value="#{jsfDepartamento.selectedItem}" var="item">
                                </f:selectItems>
                            </p:selectOneMenu>
                            <p:message for="departamento" />

                            <f:verbatim/>
                            <h:outputText value="Dirección:" />
                            <p:inputText label="Direccion" id="direccion" size="40" maxlength="64"  value="#{jsfEmpleado.object.direccion}" >                       
                            </p:inputText>
                            <p:message for="direccion"/>

                            <f:verbatim/>
                            <h:outputText value="Telefono Fijo:" />
                            <p:inputText label="Telefono Fijo" id="telefonoF" size="40" maxlength="10"  value="#{jsfEmpleado.object.telefonoConv}" >                       
                            </p:inputText>
                            <p:message for="telefonoF"/>

                            <f:verbatim/>
                            <h:outputText value="Telefono Movil:" />
                            <p:inputText label="Telefono Movil" id="telefonoM" size="40" maxlength="10"  value="#{jsfEmpleado.object.telefonoMovil}" >                       
                            </p:inputText>
                            <p:message for="telefonoM"/>

                            <f:verbatim/>
                            <h:outputText value="Correo:" />
                            <r:region>
                                <p:inputText label="correo" id="correo" size="40" maxlength="50"  value="#{jsfEmpleado.object.email}" >
                                </p:inputText>
                            </r:region>
                            <p:message for="correo"/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText  value="Fecha Ingreso:" />
                            <p:calendar navigator="true"  required="true" id="fecha" value="#{jsfEmpleado.object.fechaIngreso}"/>
                            <p:message for="fecha"/>


                            <f:verbatim rendered="#{not empty jsfEmpleado.object.idEmpleado }" />
                            <h:outputLabel rendered="#{not empty jsfEmpleado.object.idEmpleado }" for="fechasal"  value="Fecha / Salida:" />
                            <p:calendar navigator="true" rendered="#{not empty jsfEmpleado.object.idEmpleado }"  id="fechasal" value="#{jsfEmpleado.object.fechaSalida}"/>


                            <p:message rendered="#{not empty jsfEmpleado.object.idEmpleado }" for="fechasal"/>

                            <f:verbatim/>
                            <h:outputText value="Horas de contrato:" />
                            <p:inputText label="Horas de contrato" id="horas" size="30" maxlength="10"  value="#{jsfEmpleado.object.horasCont}" >                       
                            </p:inputText>
                            <p:message for="horas"/>

                            <f:verbatim/>
                            <h:outputLabel rendered="#{not empty jsfEmpleado.object.idEmpleado }" value="Activo:" />
                            <p:selectBooleanCheckbox rendered="#{not empty jsfEmpleado.object.idEmpleado }"   id="estado"  value="#{jsfEmpleado.estado}">
                            </p:selectBooleanCheckbox>
                            <p:message for="estado" />
                        </h:panelGrid>


                        <br />
                        <center>
                            <h:panelGrid >
                                <h:panelGroup id="panelBotones">
                                    <h:commandButton id="btGrabar" value="Grabar" action="#{jsfEmpleado.grabarAction}"  title="Grabar registro">
                                        <f:ajax execute="@form" event="action" render="commonStatus :panelDatos "/>
                                    </h:commandButton>
                                    <h:commandButton id="btNuevo" value="Nuevo" action="#{jsfEmpleado.nuevoAction}"  title="Limpiar o crear nuevo registro">
                                        <f:ajax event="action" render="@form"/>
                                    </h:commandButton>
                                    <r:status id="commonStatus">
                                        <f:facet name="start">
                                            <h:graphicImage library="images/ajax" name="status2.gif"/>
                                        </f:facet>
                                    </r:status>
                                </h:panelGroup>
                            </h:panelGrid>
                        </center>
                        <p:message for="formDatos">
                            <f:facet name="errorMarker">
                                <h:graphicImage library="images/ajax" name="warning.gif"/>
                            </f:facet>
                            <f:facet name="infoMarker">
                                <h:graphicImage library="images/ajax" name="passed.gif"/>
                            </f:facet>
                        </p:message>

                        <br />
                        <h:panelGroup >
                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Campo obligatorio" styleClass="campo-obligatorio"/>
                        </h:panelGroup>
                        <div class="separador" />
                        <hr width="100%" />
                        <p /> 
                        <p:dataTable id="listaSimple" value="#{jsfEmpleado.lista}" rows="10" paginator="true" var="item"  paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                     rowsPerPageTemplate="5,10,15" rendered="#{jsfEmpleado.lista.size()>0}" >
                            <f:facet name="header">
                                <h:outputText value="Registros encontrados [#{jsfEmpleado.lista.size()}]" />
                            </f:facet>
                            <p:column headerText="#" >
                                <h:outputText value="#{jsfEmpleado.lista.indexOf(item)+1}"/>
                            </p:column>
                            <p:column headerText="C. Identidad" >
                                <h:outputText value="#{item.cedula}"/>
                            </p:column>
                            <p:column headerText="Nombre" >
                                <h:outputText value="#{item.nombreFull}"/>
                            </p:column>
                            <p:column headerText="Fecha de Ingreso" >
                                <h:outputText value="#{item.fechaIngreso}">
                                    <f:convertDateTime pattern="dd/M/yyyy"/>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="Fecha Salida" >
                                <h:outputText value="#{item.fechaSalida}">
                                    <f:convertDateTime pattern="dd/M/yyyy"/>
                                </h:outputText>
                            </p:column> 
                            <p:column headerText="Estado" >
                                <h:outputText value="#{item.estado eq 1 ? 'ACTIVO':'INACTIVO'}" styleClass="#{item.estado==1?'textoNegrita':'campo-obligatorio textoNegrita'}"/>
                            </p:column> 
                            <p:column headerText="Acci'on">
                                <h:commandLink action="#{jsfEmpleado.editarAction(item)}" title="Editar">
                                    <h:graphicImage library="images/icons" name="page-edit-icon-24.png" styleClass="pic" />
                                    <f:ajax execute="@this" event="action" render=":panelDatos"/>
                                </h:commandLink>
                                <h:commandLink action="#{jsfEmpleado.eliminarAction(item)}" title="Eliminar" onclick="if (!confirm('Seguro que desea eliminar el registro?')) {
                                            formLista.reset();
                                            return false;
                                        }">
                                    <h:graphicImage library="images/icons" name="Document-Delete-icon-24.png" styleClass="pic" />
                                    <f:ajax execute="@this" event="action" render="@form :panelDatos"/>
                                </h:commandLink>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </h:form>
            </h:panelGrid>
        </center>
    </ui:define>
</ui:composition>
